﻿using System;
using System.Collections.Generic;
using Tanmia.Basis.Core;

namespace Tanmia.Warehouse.Core
{
    /// <summary>
    /// الفئة الأساسية لمذكرات حركات المواد
    /// </summary>
    public abstract class BaseNote : BaseBusinessObject
    {
        private DateTime createDate;
        private string noteNumber;
        private string notes;
        private Section store;
        private IList<StockMovement> details;

        /// <summary>
        /// تاريخ إنشاء المذكرة
        /// </summary>
        public virtual DateTime CreateDate
        {
            get { return createDate; }
            set { SetValue<DateTime>("CreateDate", ref createDate, value); }
        }

        /// <summary>
        /// رقم المذكرة
        /// </summary>
        public virtual string NoteNumber
        {
            get { return noteNumber; }
            set { SetValue<string>("NoteNumber", ref noteNumber, value); }
        }

        /// <summary>
        /// ملاحظات على المذكرة
        /// </summary>
        public virtual string Notes
        {
            get { return notes; }
            set { SetValue<string>("Notes", ref notes, value); }
        }

        /// <summary>
        /// المستودع الذي حدثت فيه الحركة
        /// </summary>
        public virtual Section Store
        {
            get { return store; }
            set { SetValue<Section>("Store", ref store, value); }
        }

        /// <summary>
        /// تفاصيل مذكرة حركة المواد
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public virtual IList<StockMovement> Details
        {
            get { return details; }
            set { SetValue<IList<StockMovement>>("Details", ref details, value); }
        }


    }
}
